home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls026.dd.Z / tls026.dd / usr / lib / grafinfo / s3 / 86c801.xgi next >
Encoding:
Text File  |  1992-12-07  |  34.5 KB  |  1,049 lines

  1. /*
  2.  *     @(#)86c801.xgi    1.1 11/8/92
  3.  *
  4.  *     Copyright (C) Xware, 1991-1992.
  5.  *
  6.  *     The information in this file is provided for the exclusive use
  7.  *    of the licensees of Xware. Such users have the right to use, 
  8.  *    modify, and incorporate this code into other products for 
  9.  *    purposes authorized by the license agreement provided they 
  10.  *    include this notice and the associated copyright notice with 
  11.  *    any such product.
  12.  *
  13.  *
  14.  *      Copyright (C) The Santa Cruz Operation, 1991.
  15.  *
  16.  *     The information in this file is provided for the exclusive use
  17.  *    of the licensees of The Santa Cruz Operation, Inc.  Such users 
  18.  *    have the right to use, modify, and incorporate this code into
  19.  *    other products for purposes authorized by the license agreement
  20.  *    provided they include this notice and the associated copyright
  21.  *    notice with any such product.  The information in this file is 
  22.  *    provided "AS IS" without warranty.
  23.  * 
  24.  */
  25.  
  26. /*
  27.  * Supported Modes:
  28.  *
  29.  *        S3.86C801.VGA.640x480-256-60
  30.  *        S3.86C801.VGA.640x480-256-72
  31.  *        S3.86C801.VGA.640x480-32K-60
  32.  *        S3.86C801.VGA.640x480-64K-60
  33.  *        S3.86C801.VGA.800x600-16-56
  34.  *        S3.86C801.VGA.800x600-16-60
  35.  *        S3.86C801.VGA.800x600-16-72
  36.  *        S3.86C801.VGA.800x600-256-56
  37.  *        S3.86C801.VGA.800x600-256-60
  38.  *        S3.86C801.VGA.800x600-256-72
  39.  *        S3.86C801.VGA.1024x768-16-43
  40.  *        S3.86C801.VGA.1024x768-16-60
  41.  *        S3.86C801.VGA.1024x768-16-70
  42.  *        S3.86C801.VGA.1024x768-256-43
  43.  *        S3.86C801.VGA.1024x768-256-60
  44.  *        S3.86C801.VGA.1024x768-256-70
  45.  *        S3.86C801.VGA.1280x960-16-43
  46.  *        S3.86C801.VGA.1280x960-256-43
  47.  *        S3.86C801.VGA.1280x1024-16-43
  48.  *        S3.86C801.VGA.1280x960-256-43
  49.  *
  50.  */
  51.  
  52. /*=====================================================================*/
  53.  
  54. VENDOR S3         "S3"
  55.  MODEL  86C801     "86C801"
  56.   CLASS  VGA        "VGA"
  57.    MODE   640x480-256-60   "640x480 256-colors, 60HZ non-interlaced"
  58.  
  59.     DATA
  60.     {
  61.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  62.         VISUAL      = "PseudoColor";
  63.         PIXWIDTH    = 640;    /* horz resolution in pixels    */
  64.         PIXHEIGHT   = 480;    /* vert resolution in pixels    */
  65.         DEPTH       = 8;    /* pixel depth in bits        */
  66.     }
  67.  
  68.     PROCEDURE SetGraphics
  69.     {
  70.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  71.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  72.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  73.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  74.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  75.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  76.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  77.         }
  78.  
  79. /*=====================================================================*/
  80.  
  81. VENDOR S3         "S3"
  82.  MODEL  86C801     "86C801"
  83.   CLASS  VGA        "VGA"
  84.    MODE   640x480-256-72   "640x480 256-colors, 72HZ non-interlaced"
  85.  
  86.     DATA
  87.     {
  88.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  89.         VISUAL      = "PseudoColor";
  90.         PIXWIDTH    = 640;    /* horz resolution in pixels    */
  91.         PIXHEIGHT   = 480;    /* vert resolution in pixels    */
  92.         DEPTH       = 8;    /* pixel depth in bits        */
  93.     }
  94.  
  95.     PROCEDURE SetGraphics
  96.     {
  97.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  98.  
  99.         r0  = 0x63; r1  = 0x4F; r2  = 0x50; r3  = 0x86;
  100.         r4  = 0x53; r5  = 0x97; r6  = 0x07; r7  = 0x3E;
  101.         r8  = 0x00; r9  = 0x40; r10 = 0x00; r11 = 0x00;
  102.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  103.         r16 = 0xE8; r17 = 0x8B; r18 = 0xDF; r19 = 0x80;
  104.         r20 = 0x60; r21 = 0xDF; r22 = 0x07; r23 = 0xAB;
  105.         r24 = 0xFF;
  106.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  107.        
  108.         out(0x3D4, 0x42); out(0x3D5, 0x0B);    /* set MODE-CTL */
  109.     
  110.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  111.         out(0x3D4, 0x54); out(0x3D5, 0x00);    /* set EX_MCTL_2*/
  112.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  113.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  114.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  115.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  116.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  117.         }
  118.  
  119.     PROCEDURE SetText
  120.     {
  121.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  122.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  123.     }
  124.  
  125. /*=====================================================================*/
  126.  
  127. VENDOR S3         "S3"
  128.  MODEL  86C801     "86C801"
  129.   CLASS  VGA        "VGA"
  130.    MODE   640x480-32K-60   "640x480 32K-colors, 60HZ non-interlaced"
  131.  
  132.     DATA
  133.     {
  134.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  135.         VISUAL      = "TrueColor";
  136.         PIXWIDTH    = 640;    /* horz resolution in pixels    */
  137.         PIXHEIGHT   = 480;    /* vert resolution in pixels    */
  138.         DEPTH       = 16;    /* pixel depth in bits        */
  139.     }
  140.  
  141.     PROCEDURE SetGraphics
  142.     {
  143.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  144.         out(0x3D4, 0x54); out(0x3D5, 0x18);    /* set EX_MCTL_2*/
  145.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  146.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  147.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  148.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  149.         out(0x3D4, 0x62); out(0x3D5, 0x40);    /* set S3R62    */
  150.         }
  151.  
  152.     PROCEDURE SetText
  153.     {
  154.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  155.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  156.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  157.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  158.     }
  159.  
  160. /*=====================================================================*/
  161.  
  162. VENDOR S3         "S3"
  163.  MODEL  86C801     "86C801"
  164.   CLASS  VGA        "VGA"
  165.    MODE   640x480-64K-60   "640x480 64K-colors, 60HZ non-interlaced"
  166.  
  167.     DATA
  168.     {
  169.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  170.         VISUAL      = "TrueColor";
  171.         PIXWIDTH    = 640;    /* horz resolution in pixels    */
  172.         PIXHEIGHT   = 480;    /* vert resolution in pixels    */
  173.         DEPTH       = 16;    /* pixel depth in bits        */
  174.         RGBBITS        = 6;    /* max bits per R, G, or B guns    */
  175.         REDMASK     = 0xF800;    /* red gun mask bits        */
  176.         GRNMASK     = 0x07E0;    /* green gun mask bits        */
  177.         BLUMASK     = 0x001F;    /* blue gun mask bits        */
  178.     }
  179.  
  180.     PROCEDURE SetGraphics
  181.     {
  182.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  183.         out(0x3D4, 0x54); out(0x3D5, 0x18);    /* set EX_MCTL_2*/
  184.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  185.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  186.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  187.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  188.         out(0x3D4, 0x62); out(0x3D5, 0x40);    /* set S3R62    */
  189.  
  190.         out(0x3D4, 0x43); out(0x3D5, 0x02);    /* set RS2    */
  191.         out(0x3C6, 0xC0);            /* set DAC MODE    */
  192.         out(0x3D4, 0x43); out(0x3D5, 0x0C);    /* clear RS2    */
  193.     }
  194.  
  195.     PROCEDURE SetText
  196.     {
  197.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  198.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  199.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  200.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  201.     
  202.         out(0x3D4, 0x43); out(0x3D5, 0x02);    /* set RS2    */
  203.         out(0x3C6, 0x00);            /* reset DAC     */
  204.         out(0x3D4, 0x43); out(0x3D5, 0x00);    /* clear RS2    */
  205.     }
  206.  
  207. /*=====================================================================*/
  208.  
  209. VENDOR S3         "S3"
  210.  MODEL  86C801     "86C801"
  211.   CLASS  VGA        "VGA"
  212.    MODE   800x600-16-56   "800x600 16-colors, 56 non-interlaced"
  213.  
  214.     DATA
  215.     {
  216.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  217.         VISUAL      = "PseudoColor";
  218.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  219.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  220.         DEPTH       = 4;    /* pixel depth in bits        */
  221.     }
  222.  
  223.     PROCEDURE SetGraphics
  224.     {
  225.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  226.  
  227.         r0  = 0x80; r1  = 0x63; r2  = 0x64; r3  = 0x83;
  228.         r4  = 0x6B; r5  = 0x00; r6  = 0x8E; r7  = 0xF0;
  229.         r8  = 0x80; r9  = 0x60; r10 = 0x80; r11 = 0x80;
  230.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  231.         r16 = 0x66; r17 = 0x8C; r18 = 0x57; r19 = 0x80;
  232.         r20 = 0x80; r21 = 0x63; r22 = 0x80; r23 = 0xE3;
  233.         r24 = 0xFF;
  234.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  235.        
  236.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  237.         
  238.         out(0x3D4, 0x42); out(0x3D5, 0x06);    /* set MODE-CTL */
  239.     
  240.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  241.     
  242.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  243.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  244.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  245.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  246.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  247.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  248.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  249.     }
  250.     
  251.     PROCEDURE SetText
  252.     {
  253.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  254.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  255.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  256.     }
  257.  
  258. /*=====================================================================*/
  259.  
  260. VENDOR S3         "S3"
  261.  MODEL  86C801     "86C801"
  262.   CLASS  VGA        "VGA"
  263.    MODE   800x600-16-60   "800x600 16-colors, 60HZ non-interlaced"
  264.  
  265.     DATA
  266.     {
  267.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  268.         VISUAL      = "PseudoColor";
  269.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  270.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  271.         DEPTH       = 4;    /* pixel depth in bits        */
  272.     }
  273.  
  274.     PROCEDURE SetGraphics
  275.     {
  276.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  277.  
  278.         r0  = 0x7F; r1  = 0x63; r2  = 0x64; r3  = 0x82;
  279.         r4  = 0x6A; r5  = 0x1A; r6  = 0x74; r7  = 0xF0;
  280.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  281.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  282.         r16 = 0x58; r17 = 0x8C; r18 = 0x57; r19 = 0x80;
  283.         r20 = 0x00; r21 = 0x57; r22 = 0x73; r23 = 0xE3;
  284.         r24 = 0xFF;
  285.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  286.        
  287.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  288.         
  289.         out(0x3D4, 0x42); out(0x3D5, 0x02);    /* set MODE-CTL */
  290.     
  291.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  292.     
  293.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  294.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  295.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  296.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  297.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  298.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  299.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  300.     }
  301.     
  302.     PROCEDURE SetText
  303.     {
  304.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  305.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  306.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  307.     }
  308.     
  309. /*=====================================================================*/
  310.  
  311. VENDOR S3         "S3"
  312.  MODEL  86C801     "86C801"
  313.   CLASS  VGA        "VGA"
  314.    MODE   800x600-16-72   "800x600 16-colors, 72HZ non-interlaced"
  315.  
  316.     DATA
  317.     {
  318.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  319.         VISUAL      = "PseudoColor";
  320.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  321.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  322.         DEPTH       = 4;    /* pixel depth in bits        */
  323.     }
  324.  
  325.     PROCEDURE SetGraphics
  326.     {
  327.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  328.  
  329.         r0  = 0x7D; r1  = 0x63; r2  = 0x64; r3  = 0x80;
  330.         r4  = 0x69; r5  = 0x1A; r6  = 0x98; r7  = 0xF0;
  331.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  332.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  333.         r16 = 0x7C; r17 = 0xA2; r18 = 0x57; r19 = 0x80;
  334.         r20 = 0x00; r21 = 0x57; r22 = 0x98; r23 = 0xE3;
  335.         r24 = 0xFF;
  336.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  337.        
  338.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  339.         
  340.         out(0x3D4, 0x42); out(0x3D5, 0x04);    /* set MODE-CTL */
  341.     
  342.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  343.     
  344.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  345.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  346.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  347.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  348.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  349.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  350.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  351.     }
  352.     
  353.     PROCEDURE SetText
  354.     {
  355.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  356.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  357.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  358.     }    
  359.  
  360. /*=====================================================================*/
  361.  
  362. VENDOR S3         "S3"
  363.  MODEL  86C801     "86C801"
  364.   CLASS  VGA        "VGA"
  365.    MODE   800x600-256-56   "800x600 256-colors, 56 non-interlaced"
  366.  
  367.     DATA
  368.     {
  369.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  370.         VISUAL      = "PseudoColor";
  371.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  372.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  373.         DEPTH       = 8;    /* pixel depth in bits        */
  374.     }
  375.  
  376.     PROCEDURE SetGraphics
  377.     {
  378.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  379.  
  380.         r0  = 0x80; r1  = 0x63; r2  = 0x64; r3  = 0x83;
  381.         r4  = 0x6B; r5  = 0x00; r6  = 0x8E; r7  = 0xF0;
  382.         r8  = 0x80; r9  = 0x60; r10 = 0x80; r11 = 0x80;
  383.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  384.         r16 = 0x66; r17 = 0x8C; r18 = 0x57; r19 = 0x80;
  385.         r20 = 0x80; r21 = 0x63; r22 = 0x80; r23 = 0xE3;
  386.         r24 = 0xFF;
  387.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  388.        
  389.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  390.         
  391.         out(0x3D4, 0x42); out(0x3D5, 0x06);    /* set MODE-CTL */
  392.     
  393.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  394.     
  395.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  396.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  397.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  398.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  399.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  400.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  401.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  402.     }
  403.     
  404.     PROCEDURE SetText
  405.     {
  406.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  407.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  408.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  409.     }    
  410.  
  411. /*=====================================================================*/
  412.  
  413. VENDOR S3         "S3"
  414.  MODEL  86C801     "86C801"
  415.   CLASS  VGA        "VGA"
  416.    MODE   800x600-256-60   "800x600 256-colors, 60HZ non-interlaced"
  417.  
  418.     DATA
  419.     {
  420.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  421.         VISUAL      = "PseudoColor";
  422.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  423.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  424.         DEPTH       = 8;    /* pixel depth in bits        */
  425.     }
  426.  
  427.     PROCEDURE SetGraphics
  428.     {
  429.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  430.  
  431.         r0  = 0x7F; r1  = 0x63; r2  = 0x64; r3  = 0x82;
  432.         r4  = 0x6A; r5  = 0x1A; r6  = 0x74; r7  = 0xF0;
  433.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  434.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  435.         r16 = 0x58; r17 = 0x8C; r18 = 0x57; r19 = 0x80;
  436.         r20 = 0x00; r21 = 0x57; r22 = 0x73; r23 = 0xE3;
  437.         r24 = 0xFF;
  438.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  439.        
  440.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  441.         
  442.         out(0x3D4, 0x42); out(0x3D5, 0x02);    /* set MODE-CTL */
  443.     
  444.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  445.     
  446.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  447.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  448.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  449.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  450.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  451.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  452.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  453.     }
  454.     
  455.     PROCEDURE SetText
  456.     {
  457.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  458.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  459.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  460.     }    
  461.     
  462. /*=====================================================================*/
  463.  
  464. VENDOR S3         "S3"
  465.  MODEL  86C801     "86C801"
  466.   CLASS  VGA        "VGA"
  467.    MODE   800x600-256-72   "800x600 256-colors, 72HZ non-interlaced"
  468.  
  469.     DATA
  470.     {
  471.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  472.         VISUAL      = "PseudoColor";
  473.         PIXWIDTH    = 800;    /* horz resolution in pixels    */
  474.         PIXHEIGHT   = 600;    /* vert resolution in pixels    */
  475.         DEPTH       = 8;    /* pixel depth in bits        */
  476.     }
  477.  
  478.     PROCEDURE SetGraphics
  479.     {
  480.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  481.  
  482.         r0  = 0x7D; r1  = 0x63; r2  = 0x64; r3  = 0x80;
  483.         r4  = 0x69; r5  = 0x1A; r6  = 0x98; r7  = 0xF0;
  484.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  485.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  486.         r16 = 0x7C; r17 = 0xA2; r18 = 0x57; r19 = 0x80;
  487.         r20 = 0x00; r21 = 0x57; r22 = 0x98; r23 = 0xE3;
  488.         r24 = 0xFF;
  489.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  490.        
  491.         out(0x3D4, 0x3B); out(0x3D5, 0x7A);    /* set S3R0B    */
  492.         
  493.         out(0x3D4, 0x42); out(0x3D5, 0x04);    /* set MODE-CTL */
  494.     
  495.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  496.     
  497.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  498.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  499.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  500.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  501.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  502.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  503.         out(0x3D4, 0x62); out(0x3D5, 0xC9);    /* set S3R62    */
  504.     }
  505.     
  506.     PROCEDURE SetText
  507.     {
  508.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  509.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  510.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  511.     }    
  512.  
  513. /*=====================================================================*/
  514.  
  515. VENDOR S3         "S3"
  516.  MODEL  86C801     "86C801"
  517.   CLASS  VGA        "VGA"
  518.    MODE   1024x768-16-43   "1024x768 16-colors, 43HZ interlaced"
  519.  
  520.     DATA
  521.     {
  522.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  523.         VISUAL      = "PseudoColor";
  524.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  525.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  526.         DEPTH       = 4;    /* pixel depth in bits        */
  527.     }
  528.  
  529.     PROCEDURE SetGraphics
  530.     {
  531.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  532.  
  533.         r0  = 0x99; r1  = 0x7F; r2  = 0x7F; r3  = 0x9C;
  534.         r4  = 0x83; r5  = 0x19; r6  = 0x97; r7  = 0x1F;
  535.         r8  = 0x00; r9  = 0x40; r10 = 0x00; r11 = 0x00;
  536.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  537.         r16 = 0x81; r17 = 0x83; r18 = 0x7F; r19 = 0x80;
  538.         r20 = 0x00; r21 = 0x80; r22 = 0x96; r23 = 0xE3;
  539.         r24 = 0xFF;
  540.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  541.        
  542.         out(0x3D4, 0x3B); out(0x3D5, 0x94);    /* set S3R0B    */
  543.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  544.         
  545.         out(0x3C2, 0x2F);            /* set MISC       */
  546.         out(0x3D4, 0x42); out(0x3D5, 0x27);    /* set MODE-CTL */
  547.     
  548.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  549.  
  550.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  551.         out(0x3D4, 0x54); out(0x3D5, 0x18);    /* set EX_MCTL_2*/
  552.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  553.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  554.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  555.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  556.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  557.     }
  558.     
  559.     PROCEDURE SetText
  560.     {
  561.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  562.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  563.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  564.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  565.     }
  566.  
  567. /*=====================================================================*/
  568.  
  569. VENDOR S3         "S3"
  570.  MODEL  86C801     "86C801"
  571.   CLASS  VGA        "VGA"
  572.    MODE   1024x768-16-60   "1024x768 16-colors, 60HZ non-interlaced"
  573.  
  574.     DATA
  575.     {
  576.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  577.         VISUAL      = "PseudoColor";
  578.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  579.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  580.         DEPTH       = 4;    /* pixel depth in bits        */
  581.     }
  582.  
  583.     PROCEDURE SetGraphics
  584.     {
  585.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  586.  
  587.         r0  = 0xA4; r1  = 0x7F; r2  = 0x80; r3  = 0x87;
  588.         r4  = 0x84; r5  = 0x95; r6  = 0x25; r7  = 0xF5;
  589.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  590.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  591.         r16 = 0x02; r17 = 0x87; r18 = 0xFF; r19 = 0x80;
  592.         r20 = 0x60; r21 = 0xFF; r22 = 0x21; r23 = 0xEB;
  593.         r24 = 0xFF;
  594.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  595.        
  596.         out(0x3D4, 0x3B); out(0x3D5, 0x9C);    /* set S3R0B    */
  597.         
  598.         out(0x3D4, 0x42); out(0x3D5, 0x0D);    /* set MODE-CTL */
  599.     
  600.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  601.  
  602.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  603.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  604.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  605.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  606.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  607.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  608.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  609.     }
  610.     
  611.     PROCEDURE SetText
  612.     {
  613.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  614.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  615.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  616.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  617.     }
  618.  
  619. /*=====================================================================*/
  620.  
  621. VENDOR S3         "S3"
  622.  MODEL  86C801     "86C801"
  623.   CLASS  VGA        "VGA"
  624.    MODE   1024x768-16-70   "1024x768 16-colors, 70HZ non-interlaced"
  625.  
  626.     DATA
  627.     {
  628.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  629.         VISUAL      = "PseudoColor";
  630.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  631.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  632.         DEPTH       = 4;    /* pixel depth in bits        */
  633.     }
  634.  
  635.     PROCEDURE SetGraphics
  636.     {
  637.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  638.  
  639.         r0  = 0xA2; r1  = 0x7F; r2  = 0x80; r3  = 0x85;
  640.         r4  = 0x84; r5  = 0x95; r6  = 0x24; r7  = 0xF5;
  641.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  642.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  643.         r16 = 0x02; r17 = 0x88; r18 = 0xFF; r19 = 0x80;
  644.         r20 = 0x60; r21 = 0xFF; r22 = 0x24; r23 = 0xEB;
  645.         r24 = 0xFF;
  646.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  647.        
  648.         out(0x3D4, 0x3B); out(0x3D5, 0x9C);    /* set S3R0B    */
  649.         
  650.         out(0x3D4, 0x42); out(0x3D5, 0x0E);    /* set MODE-CTL */
  651.     
  652.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  653.  
  654.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  655.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  656.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  657.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  658.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  659.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  660.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  661.     }
  662.     
  663.     PROCEDURE SetText
  664.     {
  665.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  666.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  667.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  668.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  669.     }
  670.  
  671. /*=====================================================================*/
  672.  
  673. VENDOR S3         "S3"
  674.  MODEL  86C801     "86C801"
  675.   CLASS  VGA        "VGA"
  676.    MODE   1024x768-256-43   "1024x768 256-colors, 43HZ interlaced"
  677.  
  678.     DATA
  679.     {
  680.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  681.         VISUAL      = "PseudoColor";
  682.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  683.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  684.         DEPTH       = 8;    /* pixel depth in bits        */
  685.     }
  686.  
  687.     PROCEDURE SetGraphics
  688.     {
  689.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  690.  
  691.         r0  = 0x99; r1  = 0x7F; r2  = 0x7F; r3  = 0x9C;
  692.         r4  = 0x83; r5  = 0x19; r6  = 0x97; r7  = 0x1F;
  693.         r8  = 0x00; r9  = 0x40; r10 = 0x00; r11 = 0x00;
  694.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  695.         r16 = 0x81; r17 = 0x83; r18 = 0x7F; r19 = 0x80;
  696.         r20 = 0x00; r21 = 0x80; r22 = 0x96; r23 = 0xE3;
  697.         r24 = 0xFF;
  698.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  699.        
  700.         out(0x3D4, 0x3B); out(0x3D5, 0x94);    /* set S3R0B    */
  701.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  702.         
  703.         out(0x3C2, 0x2F);            /* set MISC       */
  704.         out(0x3D4, 0x42); out(0x3D5, 0x27);    /* set MODE-CTL */
  705.     
  706.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  707.  
  708.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  709.         out(0x3D4, 0x54); out(0x3D5, 0x18);    /* set EX_MCTL_2*/
  710.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  711.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  712.         out(0x3D4, 0x60); out(0x3D5, 0x0F);    /* set S3R60    */
  713.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  714.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  715.     }
  716.     
  717.     PROCEDURE SetText
  718.     {
  719.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  720.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  721.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  722.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  723.     }
  724.     
  725. /*=====================================================================*/
  726.  
  727. VENDOR S3         "S3"
  728.  MODEL  86C801     "86C801"
  729.   CLASS  VGA        "VGA"
  730.    MODE   1024x768-256-60   "1024x768 256-colors, 60HZ non-interlaced"
  731.  
  732.     DATA
  733.     {
  734.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  735.         VISUAL      = "PseudoColor";
  736.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  737.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  738.         DEPTH       = 8;    /* pixel depth in bits        */
  739.     }
  740.  
  741.     PROCEDURE SetGraphics
  742.     {
  743.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  744.  
  745.         r0  = 0xA4; r1  = 0x7F; r2  = 0x80; r3  = 0x87;
  746.         r4  = 0x84; r5  = 0x95; r6  = 0x25; r7  = 0xF5;
  747.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  748.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  749.         r16 = 0x02; r17 = 0x87; r18 = 0xFF; r19 = 0x80;
  750.         r20 = 0x60; r21 = 0xFF; r22 = 0x21; r23 = 0xEB;
  751.         r24 = 0xFF;
  752.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  753.        
  754.         out(0x3D4, 0x3B); out(0x3D5, 0x9C);    /* set S3R0B    */
  755.         
  756.         out(0x3D4, 0x42); out(0x3D5, 0x0D);    /* set MODE-CTL */
  757.     
  758.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  759.  
  760.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  761.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  762.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  763.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  764.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  765.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  766.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  767.     }
  768.     
  769.     PROCEDURE SetText
  770.     {
  771.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  772.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  773.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  774.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  775.     }
  776.  
  777. /*=====================================================================*/
  778.  
  779. VENDOR S3         "S3"
  780.  MODEL  86C801     "86C801"
  781.   CLASS  VGA        "VGA"
  782.    MODE   1024x768-256-70   "1024x768 256-colors, 70HZ non-interlaced"
  783.  
  784.     DATA
  785.     {
  786.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  787.         VISUAL      = "PseudoColor";
  788.         PIXWIDTH    = 1024;    /* horz resolution in pixels    */
  789.         PIXHEIGHT   = 768;    /* vert resolution in pixels    */
  790.         DEPTH       = 8;    /* pixel depth in bits        */
  791.     }
  792.  
  793.     PROCEDURE SetGraphics
  794.     {
  795.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  796.  
  797.         r0  = 0xA2; r1  = 0x7F; r2  = 0x80; r3  = 0x85;
  798.         r4  = 0x84; r5  = 0x95; r6  = 0x24; r7  = 0xF5;
  799.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  800.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  801.         r16 = 0x02; r17 = 0x88; r18 = 0xFF; r19 = 0x80;
  802.         r20 = 0x60; r21 = 0xFF; r22 = 0x24; r23 = 0xEB;
  803.         r24 = 0xFF;
  804.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  805.        
  806.         out(0x3D4, 0x3B); out(0x3D5, 0x9C);    /* set S3R0B    */
  807.         
  808.         out(0x3D4, 0x42); out(0x3D5, 0x0E);    /* set MODE-CTL */
  809.     
  810.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  811.  
  812.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  813.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  814.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  815.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  816.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  817.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  818.         out(0x3D4, 0x62); out(0x3D5, 0x00);    /* set S3R62    */
  819.     }
  820.     
  821.     PROCEDURE SetText
  822.     {
  823.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  824.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  825.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  826.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  827.     }
  828.  
  829. /*=====================================================================*/
  830.  
  831. VENDOR S3         "S3"
  832.  MODEL  86C801     "86C801"
  833.   CLASS  VGA        "VGA"
  834.    MODE   1280x960-16-43   "1280x960 16-colors, 43HZ interlaced"
  835.  
  836.     DATA
  837.     {
  838.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  839.         VISUAL      = "PseudoColor";
  840.         PIXWIDTH    = 1280;    /* horz resolution in pixels    */
  841.         PIXHEIGHT   = 960;    /* vert resolution in pixels    */
  842.         DEPTH       = 4;    /* pixel depth in bits        */
  843.     }
  844.  
  845.     PROCEDURE SetGraphics
  846.     {
  847.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  848.  
  849.         r0  = 0xC0; r1  = 0x9F; r2  = 0x9F; r3  = 0x83;
  850.         r4  = 0xA4; r5  = 0x1F; r6  = 0x1A; r7  = 0xB2;
  851.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  852.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  853.         r16 = 0x01; r17 = 0x85; r18 = 0xDF; r19 = 0x80;
  854.         r20 = 0x00; r21 = 0x00; r22 = 0x19; r23 = 0xA3;
  855.         r24 = 0xFF;
  856.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  857.        
  858.         out(0x3D4, 0x3B); out(0x3D5, 0xBB);    /* set S3R0B    */
  859.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  860.         
  861.         out(0x3C2, 0x2F);            /* set MISC       */
  862.         out(0x3D4, 0x42); out(0x3D5, 0x2E);    /* set MODE-CTL */
  863.     
  864.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  865.  
  866.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  867.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  868.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  869.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  870.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  871.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  872.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  873.     }
  874.     
  875.     PROCEDURE SetText
  876.     {
  877.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  878.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  879.         }
  880.  
  881. /*=====================================================================*/
  882.  
  883. VENDOR S3         "S3"
  884.  MODEL  86C801     "86C801"
  885.   CLASS  VGA        "VGA"
  886.    MODE   1280x960-256-43   "1280x960 256-colors, 43HZ interlaced"
  887.  
  888.     DATA
  889.     {
  890.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  891.         VISUAL      = "PseudoColor";
  892.         PIXWIDTH    = 1280;    /* horz resolution in pixels    */
  893.         PIXHEIGHT   = 960;    /* vert resolution in pixels    */
  894.         DEPTH       = 8;    /* pixel depth in bits        */
  895.     }
  896.  
  897.     PROCEDURE SetGraphics
  898.     {
  899.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  900.  
  901.         r0  = 0xC0; r1  = 0x9F; r2  = 0x9F; r3  = 0x83;
  902.         r4  = 0xA4; r5  = 0x1F; r6  = 0x1A; r7  = 0xB2;
  903.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  904.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00;
  905.         r16 = 0x01; r17 = 0x85; r18 = 0xDF; r19 = 0xA0;
  906.         r20 = 0x00; r21 = 0x00; r22 = 0x19; r23 = 0xA3;
  907.         r24 = 0xFF;
  908.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  909.        
  910.         out(0x3D4, 0x3B); out(0x3D5, 0xBB);    /* set S3R0B    */
  911.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  912.         
  913.         out(0x3C2, 0x2F);            /* set MISC       */
  914.         out(0x3D4, 0x42); out(0x3D5, 0x2E);    /* set MODE-CTL */
  915.     
  916.         outw(0x4AE8, 0x0003);            /* set ADVFUNC    */
  917.  
  918.         out(0x3D4, 0x50); out(0x3D5, 0xC0);    /* set EX_SCTL_1*/
  919.         out(0x3D4, 0x54); out(0x3D5, 0x00);    /* set EX_MCTL_2*/
  920.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  921.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  922.         out(0x3D4, 0x60); out(0x3D5, 0x2F);    /* set S3R60    */
  923.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  924.         out(0x3D4, 0x62); out(0x3D5, 0x40);    /* set S3R62    */
  925.     }
  926.     
  927.     PROCEDURE SetText
  928.     {
  929.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  930.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  931.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  932.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  933.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  934.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  935.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  936.     }
  937.  
  938. /*=====================================================================*/
  939.  
  940. VENDOR S3         "S3"
  941.  MODEL  86C801     "86C801"
  942.   CLASS  VGA        "VGA"
  943.    MODE   1280x1024-16-43   "1280x1024 16-colors, 43HZ interlaced"
  944.  
  945.     DATA
  946.     {
  947.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  948.         VISUAL      = "PseudoColor";
  949.         PIXWIDTH    = 1280;    /* horz resolution in pixels    */
  950.         PIXHEIGHT   = 1024;    /* vert resolution in pixels    */
  951.         DEPTH       = 4;    /* pixel depth in bits        */
  952.     }
  953.  
  954.     PROCEDURE SetGraphics
  955.     {
  956.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  957.  
  958.         r0  = 0xC0; r1  = 0x9F; r2  = 0x9F; r3  = 0x83;
  959.         r4  = 0xA4; r5  = 0x1F; r6  = 0x1A; r7  = 0xB2;
  960.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  961.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00; 
  962.         r16 = 0x01; r17 = 0x85; r18 = 0xFF; r19 = 0x80;
  963.         r20 = 0x00; r21 = 0x00; r22 = 0x19; r23 = 0xE3;
  964.         r24 = 0xFF;
  965.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  966.        
  967.         out(0x3D4, 0x3B); out(0x3D5, 0xBB);    /* set S3R0B    */
  968.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  969.         
  970.         out(0x3C2, 0x2F);            /* set MISC       */
  971.         out(0x3D4, 0x42); out(0x3D5, 0x2E);    /* set MODE-CTL */
  972.     
  973.         outw(0x4AE8, 0x0007);            /* set ADVFUNC    */
  974.  
  975.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  976.         out(0x3D4, 0x54); out(0x3D5, 0x08);    /* set EX_MCTL_2*/
  977.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  978.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  979.         out(0x3D4, 0x60); out(0x3D5, 0x1F);    /* set S3R60    */
  980.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  981.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  982.     }
  983.     
  984.     PROCEDURE SetText
  985.     {
  986.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  987.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  988.         }
  989.  
  990. /*=====================================================================*/
  991.  
  992. VENDOR S3         "S3"
  993.  MODEL  86C801     "86C801"
  994.   CLASS  VGA        "VGA"
  995.    MODE   1280x1024-256-43   "1280x1024 256-colors, 43HZ interlaced"
  996.  
  997.     DATA
  998.     {
  999.         XDRIVER     = "s3c";    /* S3 86CXXX Carrera driver    */
  1000.         VISUAL      = "PseudoColor";
  1001.         PIXWIDTH    = 1280;    /* horz resolution in pixels    */
  1002.         PIXHEIGHT   = 1024;    /* vert resolution in pixels    */
  1003.         DEPTH       = 8;    /* pixel depth in bits        */
  1004.     }
  1005.  
  1006.     PROCEDURE SetGraphics
  1007.     {
  1008.              out(0x3D4, 0x11); out(0x3D5, 0x00);    /* unlock CRTC    */
  1009.  
  1010.         r0  = 0xC0; r1  = 0x9F; r2  = 0x9F; r3  = 0x83;
  1011.         r4  = 0xA4; r5  = 0x1F; r6  = 0x1A; r7  = 0xB2;
  1012.         r8  = 0x00; r9  = 0x60; r10 = 0x00; r11 = 0x00;
  1013.         r12 = 0x00; r13 = 0x00; r14 = 0xFF; r15 = 0x00; 
  1014.         r16 = 0x01; r17 = 0x85; r18 = 0xFF; r19 = 0xA0;
  1015.         r20 = 0x00; r21 = 0x00; r22 = 0x19; r23 = 0xE3;
  1016.         r24 = 0xFF;
  1017.         bout(25,0x3D4,0x3D5);            /* set CR0-CR22    */
  1018.        
  1019.         out(0x3D4, 0x3B); out(0x3D5, 0xBB);    /* set S3R0B    */
  1020.         out(0x3D4, 0x3C); out(0x3D5, 0x60);    /* set S3R0C    */
  1021.         
  1022.         out(0x3C2, 0x2F);            /* set MISC       */
  1023.         out(0x3D4, 0x42); out(0x3D5, 0x2E);    /* set MODE-CTL */
  1024.     
  1025.         outw(0x4AE8, 0x0003);            /* set ADVFUNC    */
  1026.  
  1027.         out(0x3D4, 0x50); out(0x3D5, 0xC0);    /* set EX_SCTL_1*/
  1028.         out(0x3D4, 0x54); out(0x3D5, 0x00);    /* set EX_MCTL_2*/
  1029.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  1030.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  1031.         out(0x3D4, 0x60); out(0x3D5, 0x2F);    /* set S3R60    */
  1032.         out(0x3D4, 0x61); out(0x3D5, 0x81);    /* set S3R61    */
  1033.         out(0x3D4, 0x62); out(0x3D5, 0x40);    /* set S3R62    */
  1034.     }
  1035.     
  1036.     PROCEDURE SetText
  1037.     {
  1038.         out(0x3D4, 0x50); out(0x3D5, 0x00);    /* set EX_SCTL_1*/
  1039.         out(0x3D4, 0x54); out(0x3D5, 0x38);    /* set EX_MCTL_2*/
  1040.         out(0x3D4, 0x5D); out(0x3D5, 0x00);    /* set EXT_H_OVF*/
  1041.         out(0x3D4, 0x5E); out(0x3D5, 0x00);    /* set EXT_V_OVF*/
  1042.         out(0x3D4, 0x60); out(0x3D5, 0x07);    /* set S3R60    */
  1043.         out(0x3D4, 0x61); out(0x3D5, 0x80);    /* set S3R61    */
  1044.         out(0x3D4, 0x62); out(0x3D5, 0xA1);    /* set S3R62    */
  1045.     }
  1046.  
  1047. /*=====================================================================*/
  1048.  
  1049.